home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MAJOR / Convert / chords-to-scales next >
Lisp/Scheme  |  1998-10-23  |  3KB  |  78 lines

  1. chords-to-scales conversion-description chord-list
  2.  
  3. This function uses conversion-description to convert the chords in the chord-list into a list of corresponding scales. In the example 3 conversion options are defined, matching those originally defined in a book "Improvising Jazz" by Jerry Coker. Feel free to define custom chord/ scale coincidences.
  4.  
  5. (setq jazzing1
  6.       '((maj 7) major
  7.         (maj 6) major
  8.         (min 6) melodic-minor
  9.         (maj 6) melodic-minor
  10.         (min maj7) dorian
  11.         (dim maj7) locrian
  12.         (maj maj7) mixolyde
  13.         (min maj7) mixolyde
  14.         (aug maj7) whole-tone
  15.         (&5 maj7) diminished1))
  16.  
  17. The conversion description above means that all maj chord positions 7 and 6 convert into a major scale starting at the same base note than the chord, and both min and major 6 chords convert to a melodic-minor scale, etc. In case no chord/scale correspondence is defined then the chord is used.
  18.  
  19. Here are the other conversion descriptions.
  20.  
  21. (setq jazzing2
  22.       '((maj 7) major
  23.         (maj 6) major
  24.         (min 6) diminished1
  25.         (min 7) harmonic-minor
  26.         (min maj7) diminished1
  27.         (dim maj7) diminished1
  28.         (maj maj7) whole-tone
  29.         (min maj7) whole-tone
  30.         (aug maj7) whole-tone
  31.         (&5 maj7) whole-tone))
  32.  
  33. (setq jazzing3 
  34.       '((maj 7) major
  35.         (maj 6) major
  36.         (min 6) diminished1
  37.         (min 7) diminished1
  38.         (min maj7) diminished1
  39.         (dim maj7) diminished1
  40.         (maj maj7) diminished1
  41.         (min maj7) diminished1
  42.         (aug maj7) whole-tone
  43.         (&5 maj7) whole-tone))
  44.  
  45. To put chords-to-scales in practise you have to define a chord-sequence.
  46.  
  47. (setq chord-sequence 
  48.     '((c maj 7 1) (c min 1 1) (c min 6 1 5) (c dim maj7 1) 
  49.       (c aug maj7 1) (c &5 maj7 1)))
  50.  
  51. The jazz improvisation can now take place with the aid of chords-to-scales and a conversion description.
  52.  
  53. (setq jazzing-scales 
  54.     (chords-to-scales jazzing3 chord-sequence))
  55.  
  56. To build up full tonality zones use activate-tonality on both the initial chord-sequence and the jazzing-scales.
  57.  
  58. (setq chords (activate-tonality chord-sequence))
  59. (setq scales (activate-tonality jazzing-scales))
  60.  
  61. These tonality zones are now ready to be fed into def-tonality or used within the timesheet.
  62.  
  63. (def-tonality
  64.     piano chords
  65.     saxophone scales
  66. )
  67.  
  68. or
  69.  
  70. (compile-song "ccl;output:" 1/1 "Improvising"
  71. ;            bars      1               17              33
  72. ; --instruments--      !---!---!---!---!---!---!---!---!
  73. master1    chords     "    .   .   . . .....   . ... . "
  74. master2    scales     "    .   .   . . .....   . ... . "
  75. piano      master1    "--------------------------   ---"
  76. saxophone  master2    "    --------  -------  ---------"
  77. )
  78.